#include<string.h>
#include<errno.h>
#include<asm/segment.h>


char kernelname[24]="default_name";

int sys_iam(const char *name)
{
    int i = 0;
    char buf[30];

    for(i=0;i<30;i++)
    {
        buf[i] = get_fs_byte(name+i);
        if(buf[i]=='\0')break;   
    }

    if (i > 23)
    {
        errno=-EINVAL; 
        return -1;
    }
    strcpy(kernelname,buf);
    return i;
}

int sys_whoami(char *name ,unsigned int size)
{
    int len=0;
    for(;kernelname[len]!='\0';len++);

    if (len > size)
    {
        errno=-EINVAL; 
        return -1;
    } 
    int i=0;
    for(i=0;i<size;i++)
    {
        put_fs_byte(kernelname[i],name+i);
		if(kernelname[i] == '\0') break; //字符串结束
    }
    return i;
}